經過前面15天的努力,恩君由RankF提升到RankE啦~可喜可賀!
這意味著恩君可以去村莊的站崗協助守衛
"恩君一直都想過去,不過礙於Rank不夠"
"嘿~恩君,最近村莊變的繁榮了,但最近過路費&進村費似乎有點亂"
恩~在解決問題前,我們先來學習一些基本概念吧~
relational operator
關係運算在R語言中可以測試或定義兩個實體之間某種關係的構造或操作
利用裡面的各種符號我們可以比較相關的值
首先當我們將數值存入字元時會用一個等號,兩個等號則代表數學中的等於
來試試比較不同的值,這邊有判斷值,字元,數字
TRUE == TRUE
[1] TRUE
TRUE == FALSE
[1] FALSE
"beef" == "fish"
[1] FALSE
4 == 5
[1] FALSE
TURE在R裡面代表1, FALSE則是0
如果要表達不等於我們可以用驚嘆號表示: !=
當然答案會和上面的完全相反
剩下的還有大於,大於等於,小於,小於等於
可以用符號 > , >= , < , <=
還記得之前在恩君在獸人賭場的時候,計算過花費的金額利用加減乘除的符號來相減
同樣的我們也可以用來比較每天的進村收支是否能足夠支付每日村莊大門的維修費用呢?
進村費收支 <- c(21, 254, 230, 115, 218)
村莊大門維修費 <- c(53, 21, 123, 281, 42)
進村費收支 > 村莊大門維修費
[1] FALSE TRUE TRUE FALSE TRUE
"喔喔~這樣的確有點頭緒了"
當然也可以來看看每天收支是不是都超過120金幣
進村費收支 > 120
[1] FALSE TRUE TRUE FALSE TRUE
村莊大門維修費 < 120
[1] TRUE TRUE FALSE FALSE TRUE
接下來透過恩君看到的,村民進村很多時候,多個人進村都沒有收到費用
這時我們可以透過AND來判定,&這個符號代表就是"和"的意思
所以有繳費代表TRUE,沒繳費代表FALSE
> TRUE & TRUE
[1] TRUE
> FALSE & TRUE
[1] FALSE
> TRUE & FALSE
[1] FALSE
> FALSE & FALSE
[1] FALSE
所以只要其中一人沒繳費,就算是FALSE
換句話說,"和"就是只要其中一個沒滿足條件即是沒有
"條件"必須都要滿足
最後讓我們把數據帶入吧
進村費大人是5金,小孩是3金
這邊有兩對進村,判定大人小孩後
大人 <- 5
小孩 <- 3
皮爸 <- 5
皮弟 <- 3
皮爸 >= 大人 & 皮弟 >= 小孩
[1] TRUE
哈哥 <- 3
哈媽 <- 5
哈哥 >= 大人 & 哈媽 >= 小孩
[1] FALSE
果然這樣運用判定後,變得迅速多了